package com.example.demo.huawei;

import java.util.Scanner;

//问题描述：
//给定一个字符串，只包含字母和数字，按要求找出字符串中的最长（连续）子串的长度，字符串本身是其最长的子串。子串要求：
//
//只包含1个字母（a-z, A-Z），其余必须是数字；
//字母可以在子串中的任意位置；
//如果找不到满足要求的子串，如全是字母或全是数字，则返回-1。
public class Main51 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int result = findLongestValidSubstringLength(s);
        System.out.println(result);
    }

    public static int findLongestValidSubstringLength(String s) {
        int maxLength = -1;
        int left = 0;
        int letterCount = 0;
        int digitCount = 0;

        for (int right = 0; right < s.length(); right++) {
            char rightChar = s.charAt(right);

            if (Character.isLetter(rightChar)) {
                letterCount++;
            } else if (Character.isDigit(rightChar)) {
                digitCount++;
            }

            while (letterCount > 1) {
                char leftChar = s.charAt(left);
                if (Character.isLetter(leftChar)) {
                    letterCount--;
                } else if (Character.isDigit(leftChar)) {
                    digitCount--;
                }
                left++;
            }

            if (letterCount == 1 && digitCount >= 1) {
                maxLength = Math.max(maxLength, right - left + 1);
            }
        }

        return maxLength;
    }
}